Skip to content

feat(vacancies): активные и архивные вакансии проекта - #475

Merged
TThanos3000 merged 6 commits into
devfrom
feat/dev-vacancy-archive-ui-20261021
Oct 21, 2026
Merged

TThanos3000 merged 6 commits into
devfrom
feat/dev-vacancy-archive-ui-20261021

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Что изменено

В проекте появились разделы «Активные / Архивные», перенос в архив и возврат в активные. Вместо native confirm и невидимой ошибки удаления — модалки с причиной запрета, последствиями для откликов, состоянием запроса и повтором после ошибки. Вкладки высотой 27 px как в UI Kit, общая серая подложка убрана.

Зависит от API #811, API с миграцией внедряется первым. Архивные вакансии сохраняются в архиве до ручного возврата, включая повторную публикацию проекта.

Зачем

При попытке удалить вакансию с откликами пользователь не видел причину отказа. Архив позволяет завершить набор и сохранить историю кандидатов.

Реализация

Состояния действий и фильтрация в ProjectVacancyService, существующие Update/Delete use cases. Счетчики и карточки меняются только после успешного ответа. Форма соседней вакансии сохраняется, индекс редактирования корректируется после удаления. Обработан отклик, появившийся после открытия подтверждения.

API

Используются PATCH is_active и DELETE /vacancies/{id}/. total_response_count — полная история; response_count не переопределяется. При неизвестном общем числе UI не показывает ложный ноль. Код ошибки vacancy_has_responses переводит диалог к объяснению запрета.

UI

Согласованный Figma. Существующие Card, Button, Modal, State, VacancyStatus, VacancySkills. Mont в runtime. Подписи вкладок 27 px; на touch зона нажатия расширена за пределы видимой поверхности. Tablist/tabpanel, клавиатура, modal focus/escape и возврат фокуса. Empty, busy, success, error/retry, denied и unknown count.

Permissions

Серверные права не заменяются видимостью контролов. Ошибка отсутствия доступа показывается в модалке. Изменения server-side правил — в API #811.

Проверки

  • Targeted Vitest: 3 файла / 46 tests passed, включая строковую/массивную ошибку API при возврате.
  • npm run build:pr и Angular preview build — exit 0.
  • Browser: 60 проверок, JS errors []; 1440/768/390/320, Mont, touch, keyboard, счетчики, отмена, error/retry, отклик после открытия, empty, причина отказа возврата из API.
  • ESLint измененных TS, Stylelint измененных SCSS, git diff --check.
  • Связанный API: 119 tests на PostgreSQL, models/migration checks passed; upgrade новой миграции проверен на старых записях.
  • Полный API PostgreSQL CI: 1296 tests, OK; отдельный locking/response прогон — 39 tests, OK, на финальном runtime SHA c92d997.
  • Остальные API CI Tests и Lint — success. Нюанс дополнительного локального --keepdb прогона описан в API #811 и verification.md; он не объявляется успешным.

Acceptance criteria

  • Активные/архивные и вкладки 27 px; перенос и возврат отражаются после успеха.
  • С откликами удаление объясняется и предлагается архив; удаление без откликов требует подтверждения.
  • Повтор после ошибки и защита повторной отправки; форма сохраняется.
  • Mobile, empty, неизвестный счетчик, клавиатура и focus в проверенном контуре.
  • Архив сохраняется до ручного возврата при повторной публикации проекта — решение пользователя от 21.10.2026, реализовано и проверено в API #811.

Не проверено

Deployed dev, реальная доставка email и полный frontend suite. Browser использует fixtures без live API mutations. Evidence и requirement audit: docs/vacancy-archive/verification.md.

Риски / migration

API #811 с миграцией vacancy.0011 должен быть внедрен первым. Архив сохраняется до ручного возврата; новые вакансии черновика публикуются вместе с проектом. Старые закрытые вакансии, включая черновики, остаются в архиве, поскольку причина прежнего закрытия не сохранялась. В Angular миграций нет. Merge/deploy выполняет пользователь.

@TThanos3000
TThanos3000 marked this pull request as ready for review October 21, 2026 12:28
@TThanos3000
TThanos3000 merged commit 01c03f9 into dev Oct 21, 2026
@TThanos3000
TThanos3000 deleted the feat/dev-vacancy-archive-ui-20261021 branch October 21, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants